Mientras que operaciones punto a punto tratan cada elemento de un tensor de forma independiente, patrones de reducción introducen dependencias de datos donde múltiples elementos de entrada se combinan en un solo valor de salida (por ejemplo, suma, máximo o promedio). Para implementarlos de forma eficiente, es necesario cerrar la brecha entre la estructura lógica 2D de los datos y su representación lineal en la memoria del hardware.
1. Mapeo de memoria 2D
Los tensores 2D son lógicamente cuadrículas pero físicamente lineales en la RAM. Comprender fila principal vs. columna principal el formato es fundamental para determinar si una reducción recorre direcciones de memoria contiguas o requiere acceso con paso estrategiado.
2. Topología punto a punto frente a reducción
Una copia de matriz representa una operación punto a punto con un mapeo $1:1$ de entrada a salida. En contraste, una reducción es una operación muchos a uno ($N:1$) que requiere acumulación compartida entre hilos o procesamiento secuencial dentro de un bloque.
3. Colapso de dimensionalidad
Las reducciones están definidas por el eje de operación. Reducir a lo largo del eje 1 (filas) frente al eje 0 (columnas) cambia fundamentalmente los patrones de desplazamiento de memoria y las tasas de acierto en la caché del hardware.